package cn.lizemin.share.version0;

import cn.lizemin.share.origin.entity.Tile;
import cn.lizemin.share.version0.entity.TileFactory;

/**
 * @author lzm
 * @version 1.0
 * @description: 享元模式的原型
 * @date 2022/5/17 11:20
 */
public class Client {
    /**
     * 程序的入口
     */
    public static void main(String[] args) {
//        地图第一列绘制一些图块
        TileFactory factory = new TileFactory();
//
        /**
         * 这里的工厂模式不是重点,重点是将变化的坐标和不怎么变化的图块给区分开来。
         * 变化点用接口来设计。
         */
        factory.getDrawable("河流").draw(10,10);
        factory.getDrawable("河流").draw(10,20);
        factory.getDrawable("道路").draw(10,30);
        factory.getDrawable("草地").draw(10,40);
        factory.getDrawable("草地").draw(10,50);
        factory.getDrawable("草地").draw(10,60);
        factory.getDrawable("草地").draw(10,70);
        factory.getDrawable("草地").draw(10,80);
        factory.getDrawable("道路").draw(10,90);
        factory.getDrawable("道路").draw(10,100);

        factory.getDrawable("房屋").draw(10,10);
        factory.getDrawable("房屋").draw(10,50);

    }


}
